<template>
  <div class="goods-item"
       @click="itemclick">
    <img v-lazy="showImage"
         :key="showImage"
         alt=""
         @load="ImageLoad">
    <div class="goods-info">
      <p>{{goodsItem.title}}</p>
      <span class="price">{{goodsItem.price}}</span>
      <span class="shoucang">{{goodsItem.cfav}}</span>
    </div>
  </div>
</template>

<script>
export default {
  name: 'goodsListItem',
  props: {
    goodsItem: {
      type: Object,
      default () {
        return {}
      }
    }
  },
  data () {
    return {

    }
  },
  computed: {
    showImage () {
      return this.goodsItem.image || this.goodsItem.img || this.goodsItem.show.img
    }
  },
  methods: {
    // 监听图片加载
    ImageLoad () {
      this.$bus.$emit('itemImageLoad')
    },
    itemclick () {
      // this.$router.push('/detail/' + this.goodsItem.iid)动态路由
      this.$router.push({
        path: '/detail',
        query: {
          iid: this.goodsItem.iid
        }
      })
    }
  },
}
</script>
<style scoped>
.goods-item {
  position: relative;
  padding-bottom: 40px;
  width: 47%;
}

.goods-item img {
  width: 100%;
  border-radius: 10px;
  height: 100%;

  /* min-height: 289px; */
}
.goods-info {
  position: absolute;
  bottom: 5px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 12px;
}
.goods-info p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 4px 0;
}

.goods-info .price {
  color: var(--color-high-text);
  margin-right: 20px;
}

.goods-info .shoucang {
  position: relative;
  margin-left: 20px;
}

.goods-info .shoucang::before {
  content: "";
  position: absolute;
  left: -15px;
  top: -1px;
  width: 14px;
  height: 14px;
  background: url("~assets/img/common/collect.svg") 0 0/14px 14px;
}
</style>